type int = number;
//class VipGetState
    
    export  class VipGetState
    {
        constructor()
        {
            
            this._vipTypes = [1, 2, 3, 4, 5, 6];
            this._vipGotList = [];
            this._vipStateMap = new Map<any, any> /* flash.utils.Dictionary */();
            if (VipGetState._instance != null) 
            {
                throw new Error("VipGetState 单例");
            }
            return;
        }

        public set curVipType(arg1: int)
        {
            this._curVipType = arg1;
            this.setVipHadGot(this._vipGotList);
            return;
        }

        public setVipHadGot(arg1: Array<any>): void
        {
            var loc3=0;
            this._vipGotList = arg1;
            var loc1=0;
            var loc2=0;
            while (loc2 < 6) 
            {
                loc1 = this._vipTypes[loc2];
                this._vipStateMap[loc1] = VipGetState.vipCanNotGet;
                if (loc1 <= this._curVipType) 
                {
                    this._vipStateMap[loc1] = VipGetState.vipCanGet;
                }
                loc3 = 0;
                while (loc3 < this._vipGotList.length) 
                {
                    if (loc1 == this._vipGotList[loc3]) 
                    {
                        this._vipStateMap[loc1] = VipGetState.vipHadGet;
                    }
                    ++loc3;
                }
                ++loc2;
            }
            return;
        }

        public getVipStateList(): Array<any>
        {
            var loc2=0;
            var loc1=[];
            var loc3=0;
            var loc4=this._vipStateMap;
            for(loc2 of loc4) 
            {
                loc1.push(loc2);
            }
            return loc1;
        }

        public static get instance(): VipGetState
        {
            if (VipGetState._instance == null) 
            {
                VipGetState._instance = new VipGetState();
            }
            return VipGetState._instance;
        }

        public static /* const */vipCanGet: int=1;

        public static /* const */vipCanNotGet: int=2;

        public static /* const */vipHadGet: int=3;

        /* internal */ /* var */_curVipType: int=0;

        /* internal */ /* var */_vipTypes: Array<any>;

        /* internal */ /* var */_vipGotList: Array<any>;

        /* internal */ /* var */_vipStateMap: Map<any, any> /* flash.utils.Dictionary */;

        /* internal */ static /* var */_instance: VipGetState;
    }
